1. Field of the Invention
The present invention relates to a method for booting an electronic device, more particularly to a method for speedily booting an electronic device with multiple processing units.
2. Description of the Related Art
As telecommunications technologies develop and become ubiquitous, handheld electronic devices, such as intelligent mobile phones, possess functions such as voice and data communications, and multimedia processing. Central Processing Units (CPU) of such electronic devices are required to process a large number of applications programs and multimedia files. In recent years, well-known chip manufacturers have been developing dual-core CPU architecture to improve computational efficiency.
An exemplary dual-core CPU architecture developed by Qualcomm employs a slower processor core, such as an ARM9 processor core with a clock rate ranging from 220 MHz to 529 MHz, and a faster processor core, such as an ARM11 processor core with a clock rate ranging from 800 MHz to 1000 MHz. The ARM9 processor core is for running a communication-dedicated operating system and for processing 3rd generation (3G) communications protocols. The ARM11 processor core is for running an application-layer operating system (e.g., Windows Mobile or Linux).
Referring to FIG. 1, upon booting, the ARM9 processor core executes a boot loader in a first phase of initial operation. Main processing tasks that are included in the boot loader include initializing hardware equipments, and bringing software and hardware environments into an appropriate state. After completion of the first phase, the ARM9 processor core, on one hand, performs loading of an operating system (hereinafter referred to as the communication-dedicated operating system) that is mainly for processing of the 3 G communications protocols, and, on the other hand, executes instructions for notifying the ARM11 processor core to execute tasks of a second phase of initial operation, i.e., loading an application-layer operating system (using Linux as an example). Contents of the second phase include booting the Linux kernel, loading the libraries, and initializing all hardware peripherals, which generally require a processing time of approximately 20 seconds to complete. Next, the ARM11 processor core proceeds to a thirdphase of initial operation, i.e., initializing a graphical user interface (referred to as UI). However, design of a fine-looking UI generally implies an increase in size of program library to be loaded by the ARM11 processor core in the third phase, which subsequently lengthens the booting time.
Under the current booting mechanism, since processing time of the ARM11 processor core is much longer than processing time of the ARM9 processor core (i.e., loading of the communication-dedicated operating system), even though the ARM9 processor core has already loaded the communication-dedicated operating system, the ARM9 process or core is still unable to initiate communications-related operations and can only idle under the circumstances that the Linux operating system and the UI are yet to be loaded by the ARM11 processor core. Since users of the handheld electronic devices almost always want their handheld electronic devices to be ready-for-use immediately after power-on, several tens of seconds of booting time can be a very long wait to the users.
To alleviate the aforesaid problem of long booting time, a typical approach is to use a processor core with higher performance to thereby reduce the booting time. However, such an approach increases production cost.